package com.kgc.mapper;

import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;

import com.kgc.pojo.Address;

/**
 * 地址的动态sql类 <一句话功能简述> <功能详细描述> 说明： WHERE("addressDesc like \"%\"#{addressDesc}\"%\""); 单引号属于转义字符，所以需要转换
 * 
 * @author 姓名 工号
 * @version [版本号, 2018年11月30日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class UserDynaSqlProvider
{
    /**
     * 方法中的关键字是区分大小写的 SQL SELECT WHERE 方法会根据传递过来的Address中的参数内容 动态构建sql语句 <一句话功能简述> <功能详细描述>
     * 
     * @param address
     * @return
     * @see [类、类#方法、类#成员]
     */
    public String selectWhitParamSql(String userName, Integer userRoleId)
    {
        return new SQL()
        {
            {
                SELECT("*");
                FROM("smbms_user");
                if (userName != null || "".equals(userName))
                {
                    WHERE("userName  like \"%\"#{userName}\"%\"");
                }
                if (userRoleId != null)
                {
                    WHERE("userRoleId=#{userRoleId}");
                }
            }
            
        }.toString();
    }
}
